﻿<q1:WITD application="Work item type editor" version="1.0" xmlns:q1="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef">
  <WORKITEMTYPE name="Task">
    <DESCRIPTION>Tracks work that needs to be done.</DESCRIPTION>
    <FIELDS>
      <FIELD reportable="dimension" refname="System.Title" name="Title" type="String">
        <REQUIRED />
      </FIELD>
      <FIELD reportable="dimension" refname="System.State" name="State" type="String" />
      <FIELD reportable="dimension" refname="System.Rev" name="Rev" type="Integer" />
      <FIELD reportable="dimension" refname="System.ChangedBy" name="Changed By" syncnamechanges="true" type="String" />
      <FIELD reportable="measure" refname="Microsoft.VSTS.Scheduling.RemainingWork" name="Remaining Work" type="Double" />
      <FIELD refname="Microsoft.VSTS.Common.BacklogPriority" name="Backlog Priority" type="Double" />
      <FIELD reportable="dimension" refname="Microsoft.VSTS.Common.Activity" name="Activity" type="String">
        <SUGGESTEDVALUES>
          <LISTITEM value="Development" />
          <LISTITEM value="Testing" />
          <LISTITEM value="Requirements" />
          <LISTITEM value="Design" />
          <LISTITEM value="Deployment" />
          <LISTITEM value="Documentation" />
        </SUGGESTEDVALUES>
      </FIELD>
      <FIELD reportable="dimension" refname="Microsoft.VSTS.Build.IntegrationBuild" name="Integration Build" type="String">
        <SUGGESTEDVALUES>
          <LISTITEM value="&lt;None&gt;" />
        </SUGGESTEDVALUES>
      </FIELD>
      <FIELD reportable="dimension" refname="Microsoft.VSTS.CMMI.Blocked" name="Blocked" type="String">
        <ALLOWEDVALUES>
          <LISTITEM value="Yes" />
        </ALLOWEDVALUES>
      </FIELD>
      <FIELD reportable="dimension" refname="System.Reason" name="Reason" type="String" />
      <FIELD reportable="dimension" refname="System.IterationPath" name="Iteration Path" type="TreePath" />
      <FIELD refname="System.IterationId" name="Iteration ID" type="Integer" />
      <FIELD reportable="dimension" refname="System.AssignedTo" name="Assigned To" syncnamechanges="true" type="String">
        <ALLOWEXISTINGVALUE />
        <VALIDUSER />
      </FIELD>
      <FIELD reportable="dimension" refname="System.WorkItemType" name="Work Item Type" type="String" />
      <FIELD refname="Microsoft.VSTS.Common.DescriptionHtml" name="Description HTML" type="HTML" />
      <FIELD reportable="dimension" refname="System.CreatedDate" name="Created Date" type="DateTime" />
      <FIELD reportable="dimension" refname="System.CreatedBy" name="Created By" syncnamechanges="true" type="String" />
      <FIELD refname="System.Description" name="Description" type="PlainText" />
      <FIELD refname="System.History" name="History" type="History" />
      <FIELD refname="MCCustomFields.TestingSteps" name="Testing Steps" type="HTML" />
      <FIELD refname="MCCustomFields.CodeReviewNotes" name="Code Review Notes" type="HTML" />
      <FIELD refname="System.ExternalLinkCount" name="External Link Count" type="Integer" />
      <FIELD refname="System.RelatedLinkCount" name="Related Link Count" type="Integer" />
      <FIELD reportable="dimension" refname="System.TeamProject" name="Team Project" type="String" />
      <FIELD refname="System.HyperLinkCount" name="Hyperlink Count" type="Integer" />
      <FIELD refname="System.AttachedFileCount" name="Attached File Count" type="Integer" />
      <FIELD refname="System.NodeName" name="Node Name" type="String" />
      <FIELD reportable="dimension" refname="System.AreaPath" name="Area Path" type="TreePath" />
      <FIELD reportable="detail" refname="System.RevisedDate" name="Revised Date" type="DateTime" />
      <FIELD reportable="dimension" refname="System.ChangedDate" name="Changed Date" type="DateTime" />
      <FIELD reportable="dimension" refname="System.Id" name="ID" type="Integer" />
      <FIELD refname="System.AreaId" name="Area ID" type="Integer" />
      <FIELD refname="System.AuthorizedAs" name="Authorized As" syncnamechanges="true" type="String" />
      <FIELD reportable="measure" refname="MCCustomFields.Work" name="Work" type="Integer">
        <HELPTEXT>Work in hours</HELPTEXT>
      </FIELD>
      <FIELD refname="MCCustomFields.BusinessReviewNotes" name="Business Review Notes" type="HTML" />
    </FIELDS>
    <WORKFLOW>
      <STATES>
        <STATE value="Removed">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.CMMI.Blocked">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="To Do">
          <FIELDS>
            <FIELD refname="MCCustomFields.Work">
              <REQUIRED />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="In Progress">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <REQUIRED />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Code Review">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.CMMI.Blocked">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork">
              <EMPTY />
            </FIELD>
            <FIELD refname="MCCustomFields.TestingSteps">
              <REQUIRED />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="ReadyForQA" />
        <STATE value="Business Review">
          <FIELDS>
            <FIELD refname="MCCustomFields.TestingSteps">
              <REQUIRED />
            </FIELD>
          </FIELDS>
        </STATE>
      </STATES>
      <TRANSITIONS>
        <TRANSITION from="To Do" to="In Progress">
          <REASONS>
            <DEFAULTREASON value="Work started" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="" to="To Do">
          <REASONS>
            <DEFAULTREASON value="New task" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="To Do" to="Removed">
          <REASONS>
            <DEFAULTREASON value="Removed from the backlog" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="Removed">
          <REASONS>
            <DEFAULTREASON value="Removed from the backlog" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="To Do">
          <REASONS>
            <DEFAULTREASON value="Work stopped" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Code Review" to="In Progress">
          <REASONS>
            <REASON value="Not following coding standards" />
            <REASON value="Inadequate variable and construct naming" />
            <REASON value="Inadequate error detection and handling" />
            <REASON value="Unneccessary rewrite of existing code" />
            <REASON value="Pending TODOS" />
            <REASON value="Needs optimization" />
            <REASON value="Not following design specifications or incomplete code" />
            <REASON value="Security concerns" />
            <REASON value="Improper checkin procedures" />
            <REASON value="Inadequate testing steps" />
            <DEFAULTREASON value="Miscellaneous" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Code Review" to="ReadyForQA">
          <REASONS>
            <DEFAULTREASON value="Code Review Passed" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="In Progress" to="Business Review">
          <ACTIONS>
            <ACTION value="microsoft.vsts.actions.checkin" />
          </ACTIONS>
          <REASONS>
            <DEFAULTREASON value="Ready For Business Review" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Business Review" to="In Progress">
          <REASONS>
            <REASON value="Error occured" />
            <DEFAULTREASON value="Not adhering to requirements" />
          </REASONS>
        </TRANSITION>
        <TRANSITION from="Business Review" to="Code Review">
          <REASONS>
            <DEFAULTREASON value="Passed Business Review" />
          </REASONS>
        </TRANSITION>
      </TRANSITIONS>
    </WORKFLOW>
    <FORM>
      <Layout>
        <Group>
          <Column PercentWidth="100">
            <Control FieldName="System.Title" Type="FieldControl" Label="&amp;Title:" LabelPosition="Left" />
            <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&amp;ration:" LabelPosition="Left" />
          </Column>
        </Group>
        <Group Label="">
          <Column PercentWidth="50">
            <Group Label="Status">
              <Column PercentWidth="100">
                <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
                <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
                <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
                <Control FieldName="Microsoft.VSTS.CMMI.Blocked" Type="FieldControl" Label="Blocked:" LabelPosition="Left" />
              </Column>
            </Group>
          </Column>
          <Column PercentWidth="50">
            <Group Label="Development Details">
              <Column PercentWidth="100">
                <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining Work:" LabelPosition="Left" />
                <Control FieldName="Microsoft.VSTS.Common.BacklogPriority" Type="FieldControl" Label="Backlog Priority:" LabelPosition="Left" />
                <Control FieldName="Microsoft.VSTS.Common.Activity" Type="FieldControl" Label="Activity:" LabelPosition="Left" />
                <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="Area:" LabelPosition="Left" />
                <Control FieldName="MCCustomFields.Work" Type="FieldControl" Label="Work:" LabelPosition="Left" />
              </Column>
            </Group>
          </Column>
        </Group>
        <Group>
          <Column PercentWidth="50">
            <TabGroup>
              <Tab Label="Description">
                <Control FieldName="Microsoft.VSTS.Common.DescriptionHtml" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
              <Tab Label="Testing Steps">
                <Control FieldName="MCCustomFields.TestingSteps" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
              <Tab Label="Business Review">
                <Control FieldName="MCCustomFields.BusinessReviewNotes" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
              <Tab Label="Code Review">
                <Control FieldName="MCCustomFields.CodeReviewNotes" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
            </TabGroup>
          </Column>
          <Column PercentWidth="50">
            <TabGroup>
              <Tab Label="History">
                <Control FieldName="System.History" Type="WorkItemLogControl" Label="" LabelPosition="Top" Dock="Fill" />
              </Tab>
              <Tab Label="Links">
                <Control Type="LinksControl" Label="" LabelPosition="Top" Name="GeneralLinks">
                  <LinksControlOptions>
                    <LinkColumns>
                      <LinkColumn RefName="System.Id" />
                      <LinkColumn RefName="System.WorkItemType" />
                      <LinkColumn RefName="System.Title" />
                      <LinkColumn RefName="System.AssignedTo" />
                      <LinkColumn RefName="System.State" />
                      <LinkColumn LinkAttribute="System.Links.Comment" />
                    </LinkColumns>
                    <WorkItemLinkFilters FilterType="includeAll" />
                    <ExternalLinkFilters FilterType="includeAll" />
                    <WorkItemTypeFilters FilterType="includeAll" />
                  </LinksControlOptions>
                </Control>
              </Tab>
              <Tab Label="Attachments">
                <Control Type="AttachmentsControl" Label="" LabelPosition="Top" />
              </Tab>
            </TabGroup>
          </Column>
        </Group>
      </Layout>
    </FORM>
  </WORKITEMTYPE>
</q1:WITD>